package com.qm.console.es.bo;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.Map;

import lombok.Getter;

/**
 * //                       _oo0oo_
 * //                      o8888888o
 * //                      88" . "88
 * //                      (| -_- |)
 * //                      0\  =  /0
 * //                    ___/`---'\___
 * //                  .' \\|     |// '.
 * //                 / \\|||  :  |||// \
 * //                / _||||| -:- |||||- \
 * //               |   | \\\  -  /// |   |
 * //               | \_|  ''\---/''  |_/ |
 * //               \  .-\__  '-'  ___/-. /
 * //             ___'. .'  /--.--\  `. .'___
 * //          ."" '<  `.___\_<|>_/___.' >' "".
 * //         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
 * //         \  \ `_.   \_ __\ /__ _/   .-` /  /
 * //     =====`-.____`.___ \_____/___.-`___.-'=====
 * //                       `=---='
 * //
 * //
 * //     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * //
 * //               佛祖保佑         永无BUG
 * <p>
 * com.qm.console.es.dto
 * Created on 2021/6/17.
 */
@Getter
public class UserFilterRef {

   private DateOffset from;
   private DateOffset to;
   private JSONObject query;
   private String name;

   public UserFilterRef(Map.Entry<String, Object> entry) {
      this.name = entry.getKey();
      JSONObject body = (JSONObject) JSON.toJSON(entry.getValue());
      from = new DateOffset(body.getString("from"));
      to = new DateOffset(body.getString("to"));
      query = body.getJSONObject("query");
   }

   public String getQueryAsString() {
      return JSON.toJSONString(query);
   }
}
